package br.com.mftc.efitness.basicas;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;

@Entity
@Table(name = "academias")
public class Academia extends ObjetoGeral implements Serializable {

	private static final long serialVersionUID = -3899428270692524520L;

	@Transient
	public static final int TAMANHO_MAX_RAZAO_SOCIAL = 110, TAMANHO_MAX_NOME_FANTASIA = 110, TAMANHO_MAX_CNPJ = 18;

	@Column(name = "razao_social", length = TAMANHO_MAX_RAZAO_SOCIAL, nullable = false, unique = true)
	private String razaoSocial;

	@Column(name = "nome_fantasia", length = TAMANHO_MAX_NOME_FANTASIA, nullable = false)
	private String nomeFantasia;

	@Column(length = TAMANHO_MAX_CNPJ, nullable = false, unique = true)
	private String cnpj;

	@Column(name = "aceita_pag_dinheiro")
	private Boolean aceitaPagamentoDinheiro;

	@Column(name = "aceita_pag_cartao")
	private Boolean aceitaPagamentoCartao;

	@Column(name = "aceita_pag_cheque")
	private Boolean aceitaPagamentoCheque;

	@Column(name = "baixa_auto_cheque")
	private Boolean baixaAutomaticaDoCheque;

	@Column(name = "baixa_auto_cartao")
	private Boolean baixaAutomaticaDoCartao;

	@Embedded
	private Endereco endereco;
	
	public String getRazaoSocial() {
		return razaoSocial;
	}

	public void setRazaoSocial(String razaoSocial) {
		this.razaoSocial = razaoSocial;
	}

	public String getNomeFantasia() {
		return nomeFantasia;
	}

	public void setNomeFantasia(String nomeFantasia) {
		this.nomeFantasia = nomeFantasia;
	}

	public String getCnpj() {
		return cnpj;
	}

	public void setCnpj(String cnpj) {
		this.cnpj = cnpj;
	}

	public Boolean getAceitaPagamentoDinheiro() {
		return aceitaPagamentoDinheiro;
	}

	public void setAceitaPagamentoDinheiro(Boolean aceitaPagamentoDinheiro) {
		this.aceitaPagamentoDinheiro = aceitaPagamentoDinheiro;
	}

	public Boolean getAceitaPagamentoCartao() {
		return aceitaPagamentoCartao;
	}

	public void setAceitaPagamentoCartao(Boolean aceitaPagamentoCartao) {
		this.aceitaPagamentoCartao = aceitaPagamentoCartao;
	}

	public Boolean getAceitaPagamentoCheque() {
		return aceitaPagamentoCheque;
	}

	public void setAceitaPagamentoCheque(Boolean aceitaPagamentoCheque) {
		this.aceitaPagamentoCheque = aceitaPagamentoCheque;
	}

	public Boolean getBaixaAutomaticaDoCheque() {
		return baixaAutomaticaDoCheque;
	}

	public void setBaixaAutomaticaDoCheque(Boolean baixaAutomaticaDoCheque) {
		this.baixaAutomaticaDoCheque = baixaAutomaticaDoCheque;
	}

	public Boolean getBaixaAutomaticaDoCartao() {
		return baixaAutomaticaDoCartao;
	}

	public void setBaixaAutomaticaDoCartao(Boolean baixaAutomaticaDoCartao) {
		this.baixaAutomaticaDoCartao = baixaAutomaticaDoCartao;
	}

	public Endereco getEndereco() {
		return endereco;
	}

	public void setEndereco(Endereco endereco) {
		this.endereco = endereco;
	}
}
